module MediasHelper
  def render_fs_tree(path)
    if File.directory?(path)
      result = '<ul>'
      Dir.glob(Regexp.escape(path)+'/*') do |f|
        if File.directory? f
          result << File.basename(f)+render_fs_tree("#{f}")
        else
          dlpath = (f.gsub(HELLA_LOCAL_DONE+'/'+ @media.local_path+'/', '')).split("/")
          result << "<li>#{link_to File.basename(f), :action => "download", :dlpath => dlpath}</li>"
        end
      end
      result<<'</ul>'
    elsif(@media.nzb_id && Hellanzb.instance)
      nzb_details = Hellanzb.instance.get_nzb_details(@media.nzb_id)
      if(nzb_details)
      case (nzb_details['status'])
        when NZB_QUEUED
          result =  "<p>Le média est dans la file d'attente...</p>"
        when NZB_DOWNLOADING
          result =  "<p>Le média est en cours de téléchargement ("+Hellanzb.instance.percent_complete.to_s+"%)...</p>"
        when NZB_PROCESSING
          result =  "<p>Le média est téléchargé, et est en cours de traitement...</p>"
        else
          result =  "<p>Le média est dans un état inconnu...</p>"
      end
      else
        result =  "<p>Impossible de récupérer le status du média...</p>"
      end
    else
      result =  "<p>Le dossier n'a pas été trouvé! Peut être que ce media est en cours de téléchargement...</p>"
    end
    return result
  end
end
